package com.jha.develop.domain.bo;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.jha.common.core.domain.BaseEntity;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * 学生信息 BO对象
 *
 * @author JHA
 * @date 2025-11-13
 */
@Data
public class SysStudentBo extends BaseEntity {

    /** 学生ID */
    @JsonSerialize(using = ToStringSerializer.class)
    @TableId(value = "student_id")
    private Long studentId;
    /** 学号 */
    @NotBlank(message = "学号不能为空")
    private String studentNo;
    /** 学生姓名 */
    @NotBlank(message = "学生姓名不能为空")
    private String studentName;
    /** 性别 */
    private String gender;
    /** 年龄 */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long age;
    /** 身份证号 */
    private String idCard;
    /** 手机号码 */
    private String phone;
    /** 邮箱 */
    private String email;
    /** 班级ID */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long classId;
    /** 专业ID */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long majorId;
    /** 入学日期 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date enrollmentDate;
    /** 状态 */
    private String status;
    /** 删除标志 */
    private String delFlag;
}
